print('hello world')

all_in_list = [
    1,
    1.0,
    'a word',
    print(1),
    True,
    [1,2],
    (1,2),
    {'key' : 'value'}
]

all_in_list[3]

print(all_in_list[-3][-1])

print(all_in_list[-1])
print(all_in_list[-2])


fruit = ['apple', 'orange']
fruit.insert(1,'grape')


for item in fruit:
    print(item)
    
fruit[0:0] = ['pear']

for item in fruit:
    print(item)
    
fruit.remove('pear')

for item in fruit:
    print(item)
    
fruit[0] = 'pear'

for item in fruit:
    print(item)

del fruit[0:2]

for item in fruit:
    print(item)
    
#字典

a = {
    'key' : 123,
    'key' : 123
}
print(a)
print(a['key'])

NASDAQ_code = {
    'BIDU' : 'Baidu',
    'SINA' : 'Sina'
}

print(NASDAQ_code)

NASDAQ_code['YOKU'] = 'Youku'
print(NASDAQ_code)

#错误
# for item in NASDAQ_code:
#     print(item)

for value in NASDAQ_code.values():
    print(value)

for key in NASDAQ_code.keys():
    print(key)

#f 是 f - 字符串的标志，写在字符串引号前面。当 Python 解释器碰到以 f 开头的字符串时，就会解析字符串里的 {} 占位符，
# 把其中的表达式计算出来，再将结果插入到对应位置。

#{} 是占位符，里面可以放任意有效的 Python 表达式，像变量、函数调用、算术运算等。Python 会计算这些表达式的值，
# 然后把结果转换为字符串，插入到字符串的相应位置。
for key, value in NASDAQ_code.items():
    print(f"键：{key}, 值： {value}")

for index, (key, value) in enumerate(NASDAQ_code.items()):
    print(f"键：{key}, 值： {value}")


#添加多个元素
NASDAQ_code.update({
    'FB' : 'FaceBook',
    'TSLA' : 'Tesla'
})
for key, value in NASDAQ_code.items():
    print(f"键：{key}, 值： {value}")

del NASDAQ_code['FB']

for key, value in NASDAQ_code.items():
    print(f"键：{key}, 值： {value}")

#字典不允许切片处理,由键值对这种数据特性可想而知
#NASDAQ_code[1:4]

#元组可以被看做是固定大小的列表不能被更改

letters = ('a', 'b' ,'c', 'd')

for item in letters:
    print(item)

#集合 不能被切片也不能被索引

a_set = {1, 2, 3, 4}
a_set.add(5)

for item in a_set:
    print(item)

a_set.discard(5)
for item in a_set:
    print(item)

# 定义两个列表
list1 = ['apple', 'banana', 'cherry']
list2 = [10, 20, 30]

# 使用 zip() 函数将两个列表组合
zipped = zip(list1, list2)

# 遍历组合后的结果
for item in zipped:
    print(item)

    # 定义两个长度不同的列表
list1 = ['apple', 'banana', 'cherry']
list2 = [10, 20]

# 使用 zip() 函数
for fruit, price in zip(list1, list2):
    print(f"水果: {fruit}, 价格: {price}")